package day10;
//String特殊类型行
public class Demo {
    public static void main(String[] args) {
//        String a="hello2";  //指向常量池
//        String b="hello"+2; //指向常量池
//        System.out.println(a==b); //true

//        String a="hello2"; //指向常量池
//        String b="hello"; //指向常量池
//        String c=b+2;  //常量池的地址+2  拼接在一起的新的常量
//        System.out.println(a==c);  //flase

//        String a="hello2"; //指向常量池
//        final String b="hello"; //指向常量池
//        String c=b+2;  //常量+2  指向常量池hello2
//        System.out.println(a==c); //true

        String a="hello2";
        //虽然b通过final修饰了，但是b的值需要等待方法 运行结束之后
        //才能确定的，java认为临时保存一个引用地址，而不是常量
        final String b=get();
        String c=b+2;
        System.out.println(a==c);
    }
    public static String get(){
        return "hello";
    }
}
